home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / var / arpwatch / arpfetch < prev    next >
Text File  |  2006-06-30  |  841b  |  41 lines

  1. #!/bin/sh
  2. # @(#) $Id: arpfetch,v 1.4 2000/03/21 02:27:45 leres Exp $ (LBL)
  3. #
  4. # arpfetch - collect arp data from a cisco using snmpwalk
  5. #
  6. if test $# -ne 2; then
  7.     echo "usage: $0 host cname"
  8.     exit 1
  9. fi
  10. #
  11. host=$1
  12. cname=$2
  13. temp=/tmp/arpfetch.temp.$$
  14. errs=/tmp/arpfetch.errs.$$
  15. what="ip.ipnettomediatable.ipnettomediaentry.ipnettomediaphysaddress"
  16. #
  17. # Get the data
  18. #
  19. snmpwalk -v 1 $host $cname $what | 2>&1 tr A-Z a-z > $temp
  20. #
  21. # Try to make up for the fact that snmpwalk doesn't write errors to stderr
  22. #
  23. grep -v $what $temp > $errs
  24. if test -s $errs; then
  25.     cat $errs 1>&2
  26.     rm -f $temp $errs
  27.     exit 1
  28. fi
  29. #
  30. # Convert the results
  31. #
  32. sed -e 's/[     ][     ]*/ /g' \
  33.     -e 's/ = hex: /=/' \
  34.     -e 's/ $//' \
  35.     -e 's/ /:/g' \
  36.     -e 's/^.*\.\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)=\(.*\)/\2    \1/' \
  37.     -e 's/:0/:/g' \
  38.     -e 's/^0//' $temp
  39. #
  40. rm -f $temp $errs
  41.